package karaoke.negocio;

import karaoke.dao.ReservaDAO;
import karaoke.excepcion.DAOExcepcion;
import karaoke.modelo.Reserva;
import java.util.Date;
import java.util.List;

public class GestionReserva {

    public List<Reserva> buscarPorCodigo(String codigo) throws DAOExcepcion {
        ReservaDAO dao = new ReservaDAO();
        return dao.buscarPorCodigo(codigo);
    }

    public Reserva insertar(String codigo, Date fecha, String descripcion, String estado, int cliente) throws DAOExcepcion {
        ReservaDAO dao = new ReservaDAO();

        Reserva reserva = new Reserva();
        reserva.setCodigo(codigo);
        reserva.setFecha(fecha);
        reserva.setDescripcion(descripcion);
        reserva.setEstado(estado);
        reserva.setIdCliente(cliente);
        return dao.insertar(reserva);
    }

    public Reserva obtener(int idReserva) throws DAOExcepcion {
        ReservaDAO dao = new ReservaDAO();
        return dao.obtener(idReserva);
    }

    public void eliminar(int idReserva) throws DAOExcepcion {
        ReservaDAO dao = new ReservaDAO();
        dao.eliminar(idReserva);
    }

    public Reserva actualizar(Date fecha, String descripcion, String estado, int cliente, int id) throws DAOExcepcion {
        ReservaDAO dao = new ReservaDAO();
        Reserva reserva = new Reserva();
        reserva.setIdReserva(id);
        reserva.setFecha(fecha);
        reserva.setDescripcion(descripcion);
        reserva.setEstado(estado);
        reserva.setIdCliente(cliente);
        return dao.actualizar(reserva);
    }

    public List<Reserva> listar() throws DAOExcepcion {
        ReservaDAO dao = new ReservaDAO();
        return dao.listar();
    }
}
